const isValidDate = require('./isValidDate')

/**
 * 是否闰年
 * @description 闰年规则：
 * 1.普通闰年：年份是4的倍数，且非100倍数
 * 2.世纪闰年：年份是整百数的情况下，必须是400的倍数才是闰年
 * @param {Date} date
 */
function isLeapYear(date) {
  const d = new Date(date)
  if (!isValidDate(d)) {
    return false
  }

  const year = d.getFullYear()
  // 是4的倍数，则一定是400的倍数
  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)
}

// console.log(isLeapYear(1606752000000)) // true
// console.log(isLeapYear('2018-12-01')) // false
// console.log(isLeapYear('2020-12-01')) // true
// console.log(isLeapYear('1900-12-01')) // false
// console.log(isLeapYear('2000-12-01')) // true
// console.log(isLeapYear(new Date('2020/12/01'))) // true

module.exports = isLeapYear
